2024 The Best Worst Year

Published on Saturday, March 8th, 2025

My Darling Daughter

2024 started with paternity leave, and spending lots of time with my daughter and family. It was a wonderful time. There was more laughter than tears.

Technically my daughter Maeve was born in 2023, but she's really become her own person this year. Such a wonderful human. So full of smiles and giggles, they bring me life. She's hands down been the best thing that's happened to me.

Family in Norway

The whole family in America got to travel to Norway for 2 weeks, we met with all our extended family on my father's side and reconnected with folks I haven't seen in years. I learned a lot of transactional Norwegian.

We landed in Bergen and spent a week there! Our family surprised us at the airport with a big van to bring us to our lodging, I was so happy I almost cried after the long travel day. We really appreciate Sigbjorn driving us around. They brought us groceries and my great aunt even baked us a chocolate cake ❤️🎂

Bergen sign outside of the airport

My cousin Margrette (though we call her aunt) loved our daughter Maeve, she was such a huge help while we were there.

We stayed nearby historic Bryggen (think colorful historic buildings on the water), which has a lot of fun food and shopping. We ate some traditional fair at Bryggeloftet

Street where the family is walking in Bryggen by the Julehuset (Christmas House in Norwegian)

One of the most memorable was our visit to the village of Onarheim on the island of Tysnesøya to see the family farm and have a big reunion.

Road sign for the village of Onarheim

We took the scenic train ride across Norway to Oslo, which was absolutely wonderful! You should definitely take this train ride if you visit.

Between Bergen and Oslo

NDC Oslo 2024

While in Norway, I presented at the prestigious NDC Oslo! I gave my spicy talk about serverless tech "You Don't Want Serverless"

Erik on Stage at NDC Oslo 2024

Serverless is a lose-lose. Don't use it. There's been a lot of over-hype around it and I'm here to tell you not to buy in.

I'll talk about the various shortcomings, mitigations, and solutions!

At the end of this you'll know when and where to use serverless, and when to use "boring" technology to solve your problems.

NDC Oslo 2025

I'll be back in Norway in 2025 about how to make JavaScript Blazingly fast! lessons from a game engine.

Is your app slow? Don't blame JavaScript! It might be a problem between the chair and the keyboard...

I've spent over a decade building a game engine for the web called excalibur.js, I've learned a ton of tricks and techniques to make JavaScript run BLAZINGLY fast. These learnings are broadly applicable to more than just games, they've been very useful in my day to day work building massive web applications for EdTech.

You'll learn how to:

You'll walk away with practical JavaScript optimization techniques you can apply RIGHT NOW!

Death

In August my father passed away suddenly. It's been pretty hard. He was a great man, and a wonderful father. Great listener, full of laughter, and always quick with a joke.

He loved our daughter, and I'm glad she was able to meet him. Also he fed her a chocolate donut 🍩 when babysitting instead of the baby food I left him. They were two peas in a pod, that girly sure does love chocolate, always room for dessert.

I'm glad we were able to take him to Norway, he has wanted to visit again for years. The last time he was there he was 12 years old with his mother and father.

Navigating the world without him has been challenging for the entire family. So many things remind me of him, he brought a lot of smiles to all of us.

2D Con

Excalibur did its first convention at 2D Con in August in Bloomington Minnesota! And we won a gameplay award at the show!?

booth at 2D con, Kamran is setting up

We presented 3 of our high fidelity sample games

Sweepstacks

Sweep across the screen to clear blocks! It's a match-3 like where you can also match diagonals.

This game was originally created for Ludum Dare 31 where it placed in the top 100. Coming soon to app stores near you!

Click on the image to play! (Warning addictive)

sweepstacks

Sum Monsters

Play the mathimagical game where you arrange monsters to complete the dungeon’s sum-mons. May Trix the Witch is doing all she can to bring the dungeon to order!

It's like sudoku, except you're trying to sum the rows and columns to the desired number to clear the stage

Click on the image to play! (Warning addictive)

sum monsters

Jelly Jumper

High fidelity sample of a platforming game with jump physics inspired by Super Mario World!

This was created with painstaking effort by our new maintainer Matt Jennings.

Click on the image to play!

jelly jumper

Distance Running

Not my best running year, I've definitely slowed down from my successful sub-4 hour marathon at Grandma's in 2023. My plan for this year is to keep it simple, work on the fundamentals and base build then race again in 2026. My new goal is to run sub 3:30, and eventually I'd like to qualify for the Boston marathon.

sub-4 hour run at grandma's marathon

IGDATC (International Game Developers Association Twin Cities)

Pronounced "igg-daa-TC" by the locals 😁

I've recently become very active in the IGDATC, volunteering, speaking, and attending events.

I've made a lot of new very talented friends that have been wonderful, and they are willing to listen my nonsense about games in JavaScript/TypeScript. I'm especially fond of our late night Applebee's/Mac's game dev discussions.

Presented about building Excalibur.js, the Friendly Open Source Game Engine

Excalibur

Excalibur has had a BIG year!

Caliburn Games

Started a business to publish and make games in Excalibur.js

We're currently offering custom development projects, game dev consulting, and professional support!

Check us out if you're interested! Caliburn Games

Our plan for 2025 is to release 2 commercial games on various platforms AND offer Nintendo Switch Console publishing!!!

nintendo switch

C Programming

One of my goals this year was to re-learn C. I definitely did classes in university but I don't really think I understood it that well.

One reason C appeals to me is that it's the original lingua franca of computers, if it can run in C it can run anywhere. Similarly JavaScript has become the new lingua franca, running everywhere with Electron, Capacitor.js, Tauri, etc. I'm attracted to the simplicity and portability of C.

One of the coolest things is that the Lua interpreter "lua.c" is a single iso C file meaning its super easy to include ANYWHERE because of the portability of C. Heck Balatro was written in Lua with Love2D! Really speaks to the power of C.

I picked up the book "Effective C" and can recommend . I've pre-ordered Modern C, 3rd Edition C23

I spent this year's Advent of Code learning modern C 23 and clang, you can observe my probably poorly written C here

Neovim & RSI

Another bummer is I've managed to develop a RSI (repetitive stress injury) this year in my hands! It really sucks! It's quite painful to pick things up wrong, or to lean incorrectly on my fingers.

I'm learning Neovim to hopefully help this, and it's definitely taken me a solid 2 months to get fast in it. I'm pretty fast now-a-days, this blog post was written in neovim!

neovim logo

I'm looking into ergonomic keyboards. I think concave key wells are probably my best bet. I've yet to purchase one, so if y'all have some affordable recommendations send them my way.

Optimism, Dreams, and Schemes

Cheers,

Erik

Help support me on Github Sponsors or Patreon